package minimumOperations;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public class Solution {
    public int minimumOperations(int[] nums) {
        //
//        int ans = 0;
//        int n = nums.length;
//        Arrays.sort(nums);
//        for (int i = 0; i < n; i++) {
//            // 每次都减去最小的数字
//            if(nums[i] == 0) {
//                continue;
//            }
//            int x = nums[i];
//            for (int j = i; j < n; j++) {
//                nums[j] -= x;
//            }
//            if(nums[n-1] == 0) {
//                break;
//            }
//        }
//        return ans;

        // 哈希表 由于相同的元素每次相减就没了 所以操作的最少次数是不同元素的个数
        Set<Integer> set = new HashSet<>();
        for (int num: nums) {
            if(num!=0) {
                set.add(num);
            }
        }
        return set.size();
    }
}
